import App from './App'

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false

App.mpType = 'app'
const app = new Vue({
  ...App,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import { createPinia } from 'pinia'
// 导入【默认的】持久化插件实例
// import persistedState from 'pinia-plugin-persistedstate'
// 导入【自己创建的】持久化插件实例
import { persistedState } from '@/stores/persistedState.js'

import '@/apis/uni-fetch.js'
import '@/utils'

// import { uniFetch } from '@/apis/uni-fetch.js'
export function createApp() {
  const app = createSSRApp(App)

  // 如果使用 setup 语法糖，这中方式不可取，因为 setup 语法糖中 就没有 this 了
  // 除非使用传统的 setup() {} 入口函数
  // app.config.globalProperties.fetch = uniFetch

  app.use(createPinia().use(persistedState))

  return {
    app,
  }
}
// #endif
